package com.hunan.api.catv.entity.po;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 比赛表
 * </p>
 *
 * @author jiangzhuan
 * @since 2021-06-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("guessing_match_item")
public class GuessingMatchItem extends Model<GuessingMatchItem> {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 比赛开始日期
     */
    private Date matchStartDate;

    /**
     * 比赛开始时间（时分秒）
     */
    private Date matchStartTime;

    /**
     * 竞猜开始时间
     */
    private Date guessingStartTime;

    /**
     * 竞猜结束时间
     */
    private Date guessingEndTime;

    /**
     * 状态：0：禁用 1：启用
     */
    private Integer state;

    /**
     * 活动类型： 2：欧洲杯竞猜活动
     */
    private Integer activityType;

    /**
     * 逻辑删除 0:已删除 1:未删除
     */
    private Integer deleted;

    /**
     * 直播频道名
     */
    private String liveName;

    /**
     * 直播频道liveId
     */
    private Integer liveId;

    /**
     * 主场球队名
     */
    private String homeTeam;

    /**
     * 主场球图
     */
    private String homeTeamPic;

    /**
     * 客场球队名
     */
    private String awayTeam;

    /**
     * 客场球图
     */
    private String awayTeamPic;

    /**
     * 比赛场次描述
     */
    private String matchNumberContent;

    /**
     * 主场得分
     */
    private String homeTeamScore;

    /**
     * 客场得分
     */
    private String awayTeamScore;

    /**
     * 比赛扩展信息，json格式
     */
    private String matchExtend;

    /**
     * 创建时间
     */
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;

    /**
     * 创建人
     */
    private Integer createBy;

    /**
     * 更新人
     */
    private Integer updateBy;

    /**
     * 比赛结果 0：平局 1：主场胜 2：客场胜
     */
    private Integer matchResult;

    /**
     * 比赛是否结束 0：否 1：是
     */
    private Integer matchIsOver;

    /**
     * 比赛类型：0：淘汰赛 不允许平局 1：小组赛 允许平局
     */
    private Integer matchType;


    public static final String ID = "id";

    public static final String MATCH_START_DATE = "match_start_date";

    public static final String MATCH_START_TIME = "match_start_time";

    public static final String GUESSING_START_TIME = "guessing_start_time";

    public static final String GUESSING_END_TIME = "guessing_end_time";

    public static final String STATE = "state";

    public static final String ACTIVITY_TYPE = "activity_type";

    public static final String DELETED = "deleted";

    public static final String LIVE_NAME = "live_name";

    public static final String LIVE_ID = "live_id";

    public static final String HOME_TEAM = "home_team";

    public static final String HOME_TEAM_PIC = "home_team_pic";

    public static final String AWAY_TEAM = "away_team";

    public static final String AWAY_TEAM_PIC = "away_team_pic";

    public static final String MATCH_NUMBER_CONTENT = "match_number_content";

    public static final String HOME_TEAM_SCORE = "home_team_score";

    public static final String AWAY_TEAM_SCORE = "away_team_score";

    public static final String MATCH_EXTEND = "match_extend";

    public static final String CREATE_TIME = "create_time";

    public static final String UPDATE_TIME = "update_time";

    public static final String CREATE_BY = "create_by";

    public static final String UPDATE_BY = "update_by";

    public static final String MATCH_RESULT = "match_result";

    public static final String MATCH_IS_OVER = "match_is_over";

    public static final String MATCH_TYPE = "match_type";

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
